layui.config({
    base: CXL.ctxPath + '/externaljs/'
}).extend({ //设定组件别名
    echarts: 'echarts/echarts',
    axios: 'axios/axios'
});
layui.use(['table', 'laydate', 'echarts'], function () {
    var admin = layui.admin;
    var table = layui.table;
    var laydate = layui.laydate;
    var $ = layui.$;

    /**
     * 表格参数
     */
    var Page = {
        tableId: 'roller-table',
        url: CXL.ctxPath + '/stock/datagrid',
        toolbar:'#normal-toolbar',
        initColumn: function() {
            return [[
                {type: 'numbers'}
                ,{field:'id', title: '垛位ID', width:150}
                ,{field:'name', title: '垛位名称', width:150}
                ,{field:'x', title: '大车坐标', width:120}
                ,{field:'y',title: '小车坐标', width:120}
                ,{field:'z',title: '起升高度', width:120}
                ,{field:'emptyStatus',title: '清空标志', width:120}
                ,{fixed: 'right', title:'操作', toolbar: '#stock-tool-bar', width:170}
            ]];
        },
        page: true,
        addUrl: CXL.ctxPath + "/stock/add",
        deleteUrl : CXL.ctxPath + "/stock/delete"

    };

    /**
     * 页面查询
     */
    Page.searchAction = function() {
        var queryData = {};
        //查询字段
        queryData['id'] = $("#id").val();

        table.reload(Page.tableId, {where: queryData});
    }



    /**
     * 页面查询条件的重置
     */
    Page.resetAction = function() {
        $(".layui-input").val('');
        Page.searchAction();
    }


    /**
     * 表格的单击事件
     */
    Page.clickAction = function(obj) {

    }

    /**
     * 表格的双击事件
     */
    Page.doubleClickAction = function(obj) {

    }


    /**
     * 新增
     */
    Page.openAdd = function () {
        layer.open({
            type : 2,
            title : '新增',
            shadeClose : true,
            shade : 0.8,
            area: ['700px', '700px'],
            content : Page.addUrl,
            btn : [ '确定', '取消' ],
            yes : function(index, layero) {
                //点击确认触发 iframe 内容中的按钮提交
                var submit = layero.find('iframe').contents().find("#form-btn-save");
                submit.click();

                //刷新表格
                Page.searchAction();
            }
        });
    };

    /**
     * 编辑
     */
    Page.openEdit = function (data) {
        layer.open({
            type : 2,
            title : '编辑',
            shadeClose : true,
            shade : 0.8,
            area: ['700px', '700px'],
            content : Page.addUrl + "?id=" + data.id,
            btn : [ '确定', '取消' ],
            yes : function(index, layero) {
                //点击确认触发 iframe 内容中的按钮提交
                var submit = layero.find('iframe').contents().find("#form-btn-save");
                submit.click();

                //刷新表格
                Page.searchAction();
            }
        });
    };

    /**
     * 查看
     */
    Page.openDetail = function(data) {
        layer.open({
            type : 2,
            title : '查看',
            shadeClose : true,
            shade : 0.8,
            area: ['650px', '700px'],
            content : Page.addUrl + "?id=" + data.id
        });
    }

    /**
     * 删除表格数据
     */
    Page.deleteAction = function(obj) {
        parent.layer.confirm('真的确定要删除么', function(index){

            //提交 Ajax进行后端删除
            $.ajax({
                type: "post",
                url: Page.deleteUrl,
                data: {id:obj.data.id},
                success: function(res) {
                    if(res.success) {
                        CXL.success(res.msg);
                        //表格删除
                        obj.del();
                    }else {
                        CXL.warn(res.msg);
                    }
                }
            });

            layer.close(index);
        });
    }


    /**
     * 表格渲染
     */
    table.render({
        elem: '#' + Page.tableId
        ,url: Page.url
        ,height: 'full-140'
        ,page: true
        ,limit : 30
        ,autoSort:false
        ,toolbar: Page.toolbar
        ,where: Page.where
        ,defaultToolbar: []

        ,cols: Page.initColumn()
    });

    /**
     * 表头工具栏
     */
    table.on('toolbar(' + Page.tableId + ')', function(obj){
        var checkStatus = table.checkStatus(obj.config.id);
        switch(obj.event){
            case 'doAdd':
                Page.openAdd();
                break;
        };
    });

    /**
     * 监听表格工具事件
     */
    table.on('tool(' + Page.tableId + ')', function(obj){
        //获得当前行数据
        var data = obj.data;
        //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
        var layEvent = obj.event;

        //查看操作
        if(layEvent === 'detail'){
            Page.openDetail(data);
        }
        //删除操作
        else if(layEvent === 'del'){
            Page.deleteAction(obj);
        }
        //编辑操作
        else if(layEvent === 'edit'){
            Page.openEdit(data);
        }
    });


    /**
     * 搜索按钮事件
     */
    $('#btnSearch').click(function () {
        Page.searchAction();
    });

    /**
     * 搜索按钮事件
     */
    $('#btnReset').click(function () {
        Page.resetAction();
    });

    //监听行单击事件
    table.on('row(' + Page.tableId + ')', function(obj){
        Page.clickAction(obj);
    });

    //监听行双击事件
    table.on('rowDouble(' + Page.tableId + ')', function(obj){
        Page.doubleClickAction(obj);
    });

    /**
     * 时间选择器渲染
     * 开始时间
     */
    laydate.render({
        elem: '#timeBegin' //指定元素
        , type: 'datetime'
        , value: new Date(new Date().getTime() - 8 * 60 * 60 * 1000)
    });

    /**
     * 时间选择器渲染
     * 结束时间
     */
    laydate.render({
        elem: '#timeEnd' //指定元素
        , type: 'datetime'
        , value: new Date()
    });

});


